package com.deer.wms.api;
import com.deer.wms.file.configurer.FileSetting;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
 * 项目后台API入口   spring boot     1000   10000    分布式部署   1      5                mysql
 *
 * Created by guo on 2018/8/11.
 */
//作用：标注在某个类上说明这个类是SpringBoot的主配置类 ， SpringBoot就应该运行这个类的main方法来启动SpringBoot应用；
@SpringBootApplication
@EnableScheduling   //支持定时任务
//将类ApiApplication注册为容器的bean；
@EnableConfigurationProperties({FileSetting.class})
//这个注解在Spring中很重要 ,它对应XML配置中的元素。
//作用：自动扫描并加载符合条件的组件或者bean ， 将这个bean定义加载到IOC容器中
@ComponentScan(value = {
        "com.deer.wms.api",
        "com.deer.wms.project.root",
        "com.deer.wms.intercept.common.data",
        "com.deer.wms.file",
        "com.deer.wms.system.manage",
        "com.deer.wms.base.system",
        "com.deer.wms.review.manage",
        "com.deer.wms.quartz",
        "com.deer.wms.busine.tactic",
        "com.deer.wms.inventory",
        "com.deer.wms.ware.task",
        "com.deer.wms.ASN.manage",
        "com.deer.wms.kuaidiniao",
        "com.deer.wms.ureport",
        "com.deer.wms.lzb.erp",
        "com.deer.wms.company",
        "com.deer.wms.instock"
})
// 作用：指定要变成实现类的接口所在的包，然后包下面的所有接口在编译之后都会生成相应的实现类
@MapperScan(value = {
        "com.deer.wms.file.dao",
        "com.deer.wms.system.manage.dao",
        "com.deer.wms.review.manage.dao",
        "com.deer.wms.base.system.dao",
        "com.deer.wms.quartz.dao",
        "com.deer.wms.busine.tactic.dao",
        "com.deer.wms.inventory.dao",
        "com.deer.wms.ware.task.dao",
        "com.deer.wms.ASN.manage.dao",
        "com.deer.wms.kuaidiniao.dao",
        "com.deer.wms.ureport.dao",
        "com.deer.wms.intercept.dao",
        "com.deer.wms.lzb.erp.dao",
        "com.deer.wms.company.dao",
        "com.deer.wms.instock.dao"
})
public class ApiApplication {
    public static void main(String[] args) {
        SpringApplication.run(ApiApplication.class, args);
    }

    /**

     * 进行注册Servlet

     * 配置 UReport2 需要使用到的servlet

     */

}